package com.vanke.devops.domain.manager.aliyun.bean;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * @author 陈景阳
 * @since 2018/3/14
 */
@Setter
@Getter
@ToString
public class Node {
    /**
     * cpu使用
     */
    private BigDecimal cpuUsed;

    /**
     * 内存总量
     * M
     */
    private BigDecimal memoryTotal;

    /**
     * 内存使用
     * M
     */
    private BigDecimal memoryUsed;
    /**
     * 内存空闲
     * M
     */
    private BigDecimal memoryFree;
    /**
     * 内存使用百分比
     */
    private BigDecimal memoryUsedPercent;
    /**
     * 磁盘总量
     * bytes
     */
    private BigDecimal diskTotal;
    /**
     * 磁盘使用
     * bytes
     */
    private BigDecimal diskUsed;

    /**
     * 硬盘使用百分比
     */
    private BigDecimal diskUsedPercent;
    /**
     * 磁盘空闲
     * bytes
     */
    private BigDecimal diskFree;


    private BigDecimal get2GB(BigDecimal value){
        //to kb
        return value.divide(new BigDecimal(1024))
                //to mb
                .divide(new BigDecimal(1024))
                // to gb
                .divide(new BigDecimal(1024))
                .setScale(2,BigDecimal.ROUND_UP);
    }

    public void ToGB(){
        memoryTotal = get2GB(memoryTotal);
        memoryUsed = get2GB(memoryUsed);
        memoryFree = get2GB(memoryFree);

        diskTotal = get2GB(diskTotal);
        diskUsed = get2GB(diskUsed);
        diskFree = get2GB(diskFree);
    }

}
